Method and system for authenticating a data stream

ABSTRACT

A method and apparatus for obtaining digital content. A credential is extracted from a first data stream that corresponds to a media item. The credential is provided to a content provider. If the credential is authenticated, the content provider sends a second data stream that corresponds to the media item.

RELATED APPLICATIONS

This application claims the benefit of provisional patent application Ser. No. 61/173,628, filed Apr. 29, 2009, the disclosure of which is hereby incorporated herein by reference in its entirety.

FIELD OF THE DISCLOSURE

The present disclosure relates to authenticating a request for digital content, and in particular to using a credential provided in a first data stream to authenticate the delivery of a second data stream.

BACKGROUND

Digitization of content has increased the ways in which content, such as movies, may be delivered. Today, a plethora of mobile devices can play digitized movies. Increasingly, such devices can communicate wirelessly with content providers, and can obtain digital content in real time over a wireless communications link, such as a Wi-Fi link or a cellular link.

The bandwidths of wireless communications links differ greatly. A cellular communications link may have a maximum bandwidth of less than 1 megabit per second (mbps), while a Wi-Fi link may have a maximum bandwidth in excess of 10 mbps. When receiving digital content, the bandwidth of the communications link may be quite important, especially where the content is being viewed by a user substantially concurrently while it is being received by the device. Sending digital content that is encoded at a bit rate that exceeds the bandwidth of the communications link results in interrupted playback, which is unacceptable to users.

Display capabilities of mobile devices also differ greatly. Some mobile devices have a limited display resolution, while others offer a much higher resolution. For example, a first mobile device may have a screen resolution of 480×320 pixels (e.g., an Apple® iPhone®), while a second mobile device may have a screen resolution of 1024×768 pixels (e.g., an Apple® iPad®). Display capabilities of other types of devices, such as televisions, may be significantly greater than those of mobile devices.

Today, digital content is frequently rented or purchased and delivered to a device over a network. Ideally, the data stream of a movie that is delivered over the network closely matches the available bandwidth of the communications link and the display resolution of the requesting device. This may be particularly important where the receiving device is playing the digital content substantially concurrently while it is being received. The data stream may be automatically selected by the content provider based on the bandwidth and display characteristics of the requesting device, or may be selected by a user of the requesting device.

A content provider may generate a plurality of different data streams of a movie in order to be able to select a particular data stream based on the attributes of the communications link and/or the display resolution of the requesting device. Data streams of a movie may be generated by any of multiple different data-encoding techniques. One encoding technique is to make multiple copies of a movie at different bit rates. Each copy is a separate data stream, and the data stream encoded at the bit rate that best matches the available bandwidth of the communications link and the display resolution of the receiving device is selected for delivery.

In some cases, a change of circumstances may render a first data stream that was selected based on a particular communications link or display resolution no longer ideal. For instance, a relatively low resolution data stream may be provided to a mobile device based on the available bandwidth of the communications link when the movie was initially selected for delivery to the device. Subsequently, the device may obtain access to a much higher bandwidth communications link. For example, the device may have had a relatively low bandwidth cellular communications link when the media item was initially requested for delivery, but may subsequently have access to a relatively high bandwidth Wi-Fi communications link. In such a situation, it would be desirable to receive the higher resolution version of the movie to maximize the user's viewing experience.

In other situations, a user may want to play a movie that has been delivered to the mobile device on a second device at a higher resolution than the data stream delivered to the mobile device. In such situations, it would be desirable for a higher resolution second data stream of the movie to be delivered to the higher resolution device.

Where the movie is being rented, the initial rental typically includes certain validation and authorization processing, including the receipt of payment information. However, it is undesirable to undergo such transactional processing each time a data stream with a different resolution is desired, or to have to pay additional fees to rent the same movie. What is needed, therefore, is a mechanism for enabling digital content to be delivered at a first resolution, and to be subsequently delivered at a second resolution with little or no user action required.

SUMMARY

The present disclosure relates to using a credential obtained from a first data stream that corresponds to a media item to authenticate the delivery of a second data stream that also corresponds to the media item. In one embodiment, the first data stream is a relatively low quality version of the media item, and the second data stream is a relatively high quality version of the media item. In another embodiment, the first data stream is a base layer of the media item, and the second data stream is an enhancement layer of the media item which is combined with the first data stream to generate a combined data stream.

The credential may be extracted from the first data stream by a first device that is currently receiving, or has previously received, the first data stream. The first device may provide the credential to a content provider of the first data stream. In response, the content provider may provide the second data stream to the first device. The second data stream may be presented to a user, or combined with the first data stream to form a combined data stream that is presented to the user.

In another embodiment, a user may transfer the credential from a first device to a second device. The second device may communicate the credential to the content provider and begin receiving a second data stream corresponding to the media item. The second device may cause the presentation of the second data stream to the user, such as by decoding and rendering the second data stream on a display device. In an alternate embodiment, the user may transfer the credential to the second device, along with the first data stream, which comprises a base layer of the media item. The second device provides the credential to the content provider, and begins receiving a second data stream, which comprises an enhancement layer of the media item. The second device combines the first data stream and the second data stream to form a combined data stream. The second device may cause the presentation of the combined data stream to the user.

The credential may be in the form of a digital watermark that is embedded in the first data stream. The credential is generated by the content provider after authentication and payment by the user, and is embedded in a data stream that is delivered to a device. When the content provider subsequently receives the credential from a device that is requesting the delivery of a second data stream, the content provider can authenticate the purchase of the media item via the credential. The content provider may limit subsequent data streams of the media item to a finite number of authorized devices that have been previously registered with the content provider as being associated with a specific user. In particular, the user may provide network addresses of a particular number of devices during a registration process with the content provider. If the credential is received from a device bearing a network address that does not appear on the list of registered network addresses, the content provider may reject the request.

Those skilled in the art will appreciate the scope of the embodiments and realize additional aspects thereof after reading the following detailed description of the embodiments in association with the accompanying drawing figures.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the embodiments, and together with the description serve to explain the principles of the embodiments.

FIGS. 1A and 1B are block diagrams of an exemplary system in which embodiments may be practiced;

FIG. 2 is a flowchart illustrating an exemplary process for providing a first data stream in response to a request from a device according to one embodiment;

FIG. 3 is a flowchart illustrating an exemplary process for using a credential obtained from a first data stream that corresponds to a media item to authenticate the delivery of a second data stream that corresponds to the media item;

FIG. 4 is a message flow diagram illustrating an exemplary message flow and associated processing for using a credential obtained from a first data stream that corresponds to a media item to authenticate the delivery of a second data stream that corresponds to the media item according to another embodiment;

FIG. 5 is a block diagram of an exemplary content storage;

FIG. 6 is a block diagram of another exemplary system in which embodiments may be practiced;

FIG. 7 is a message flow diagram illustrating an exemplary message flow and associated processing for using a credential obtained from a first data stream that was delivered to a first device to authenticate the delivery of a second data stream to a second device;

FIG. 8 is a message flow diagram illustrating another exemplary message flow and associated processing for using a credential obtained from a first data stream that was delivered to a first device to authenticate the delivery of a second data stream to a second device; and

FIG. 9 illustrates components of an exemplary processing device which may be used to implement a first device, a second device, or a content server, according to some embodiments.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the embodiments and illustrate the best mode of practicing the embodiments. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the embodiments and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.

The phrase “media item” will be used herein to refer to digital media content that may be rendered by a device for presentation to a user. For example, a media item may comprise a broadcast television show, a movie, a song, and the like. FIGS. 1A and 1B are block diagrams of an exemplary system 10 in which embodiments may be practiced. FIG. 2 is a flowchart illustrating an exemplary process for providing a first data stream in response to a request from a device according to one embodiment. FIG. 2 will be discussed in conjunction with FIG. 1A. While reference is made herein to a “first” device and a “second” device, the words “first” and “second” are used merely for convenience, to distinguish the devices, and do not imply a particular type of device or a particular order of operations other than as described herein explicitly.

A content provider 12 makes content available to users of a service. The content provider 12 may comprise any provider of content, including a movie rental service provider, a cable operator, a satellite operator, an Internet content provider, and the like. The content provider 12 provides service via a content server 14 which is coupled to a network 16, such as a proprietary network provided by the content provider 12, or a public network such as the Internet, over which the content server 14 may serve content as requested.

A first device 18 is communicatively coupled to a cellular network 20, which in turn is coupled to the network 16. The first device 18 may comprise any mobile device capable of wireless communications, such as a cellular phone, a portable gaming console, a personal digital assistant (PDA), a tablet computer, a laptop computer, and the like. The first device 18 includes a display 22, which may be coupled to the first device 18 or may be integral with the first device 18. The cellular network 20 provides a relatively low bandwidth communications link 24 to the first device 18.

While embodiments have applicability in both the rental and purchase of media items, for purposes of illustration, embodiments will be discussed herein in the context of a rental of a media item. Assume a user 26 orders a media item, such as the movie Dracula, from the content provider 12. In particular, the user 26 may indicate via a user interface presented on the display 22 that the user 26 desires to view the movie Dracula. In response to such input, the first device 18 may generate a message including a rental request for the movie Dracula, and send the message to the content server 14. The request may also include information identifying the user 26 to the content server 14, such as, for example, a user identifier and password, or the like. The content server 14 receives the request (FIG. 2, step 1000). The content server 14 authenticates the rental request by, for example, ensuring that the user 26 is a registered member of the service provided by the content provider 12, and may also obtain payment for the requested media item (FIG. 2, step 1002).

The content server 14 selects a particular data stream that corresponds to the movie Dracula from a content storage 28 (FIG. 2, step 1004). The phrase “corresponds to” means the data stream includes information used to render the movie on a display device. For purposes of illustration, the selected data stream will be referred to as the “first data stream.” The first data stream may be selected based on the bandwidth of the communications link 24; characteristics of the first device 18, such as the display resolution of the display 22; or a combination of both. Alternately, the user 26 may select the first data stream from a plurality of available data streams, each of which corresponds to the movie Dracula. For example, the content server 14 may provide the first device 18 with a plurality of data stream identifiers identifying a plurality of available data streams, all of which correspond to the movie Dracula. The first device 18 may present the plurality of data stream identifiers to the user 26 via the display 22. The data stream identifiers may include information identifying a quality associated with each corresponding data stream, such as the encoded bit rate, or a subjective term quantifying a quality, such as “low,” “medium,” or “high.” The user 26 may select one of the data stream identifiers, and the first device 18 may communicate the selection to the content server 14.

The content server 14 may generate a digital watermark that includes a credential (FIG. 2, step 1006). The credential preferably either directly or indirectly identifies certain information associated with the rental of the movie, such as the account number of the user 26; the title of the rented movie; restrictions placed on playing the movie, such as a date after which the movie expires or a finite number of times the movie may be played; a location of other data streams that correspond to the movie; or the like. The phrase “directly or indirectly” means the credential itself may contain such information, or the credential may contain a reference, such as a Uniform Resource Identifier (URI) that links to such information. The content server 14 embeds the digital watermark into the first data stream (FIG. 2, step 1008). Generating and embedding a digital watermark into a data stream is known to those skilled in the art and will not be discussed in detail herein. Generally, the digital watermark may be embedded into the first data stream by altering the first data stream in the time domain or the frequency domain. For example, the digital watermark may be added to the content such that the effect of the digital watermark is below the noise floor.

The first data stream is provided to the first device 18 (FIG. 2, step 1010). The communication of the first data stream may be initiated by the content server 14 in a “push” fashion, or may be downloaded in a “pull” fashion by the first device 18. In the latter example, the content server 14 may provide the first device 18 with a reference, such as a URI, which the first device 18 may access to obtain the first data stream.

FIG. 3 is a flowchart illustrating an exemplary process for using a credential obtained from a first data stream that corresponds to a media item to authenticate the delivery of a second data stream that corresponds to the media item. FIG. 3 will be discussed in conjunction with FIGS. 1A and 1B. Assume the content server 14 selects a relatively low quality first data stream of the movie Dracula because of a relatively low bandwidth of communications link 24, a relatively low resolution of the display 22, or a combination of both. After the first device 18 begins to receive the first data stream, the first device 18 extracts the embedded digital watermark from the first data stream, and extracts the credential from the watermark (FIG. 3, step 2000). For example, the first device 18 may include an extraction module (not illustrated) provided by the content provider 12 that has knowledge of the format and location of a digital watermark that is embedded in a data stream provided by the content server 14. As the first device 18 receives the first data stream, the first device 18 may begin providing the first data stream for presentation on the display 22, and may also begin storing the first data stream in a content storage 30.

FIG. 1B illustrates the system 10 at a subsequent point in time. The user 26 has moved within proximity of a Wi-Fi network 32. The first device 18 may be configured to automatically detect the presence of the Wi-Fi network 32. The first device 18 establishes a communications link 34 with the Wi-Fi network 32. The communications link 34 has a significantly higher bandwidth than the communications link 24. Assume that the first data stream was encoded at a bit rate suitable for the communications bandwidth of the communications link 24, but was encoded at a resolution substantially lower than the display capabilities of the display 22. Thus, due to the higher bandwidth of the communications link 34, a higher bit rate data stream of the movie Dracula could be provided which would provide a higher quality picture to the user 26 via the display 22.

The first device 18 generates a message that includes the credential extracted from the first data stream and a request for a higher quality version of the movie Dracula. The first device 18 sends the message to the content server 14 (FIG. 3, step 2002). The content server 14 receives the message, authenticates the credential in any desired manner, and begins delivering a second data stream that corresponds to the movie Dracula to the first device 18. The second data stream comprises a higher quality (e.g., with a higher resolution) data stream corresponding to the movie Dracula. The first device receives the second data stream (FIG. 3, step 2004). The second device may provide the second data stream for presentation to the user 26 via the display 22, and may store the second data stream in the content storage 30.

FIG. 4 is a message flow diagram illustrating an exemplary message flow and associated processing for using a credential obtained from a first data stream that corresponds to a media item to authenticate the delivery of a second data stream that corresponds to the media item, according to another embodiment. FIG. 4 will be discussed in conjunction with FIGS. 1A and 1B. Again, assume that the first device 18 begins to receive a first data stream, extracts an embedded digital watermark from the first data stream, and further extracts a credential from the watermark (FIG. 4, step 3000). In this embodiment, however, assume that the first data stream comprises a base layer of the movie Dracula. For example, the first data stream may comprise a Scalable Video Coding base layer data stream. Assume that the first device 18 has stored the first data stream in the content storage 30. For example, the first device 18 may have received the entire first data stream at a rate much faster than the first data stream is presented to the user 26 on the display 22.

Upon detection of the Wi-Fi network 32, the first device 18 generates a message that includes the credential extracted from the first data stream, and a request for a higher quality version of the movie Dracula. The message may include additional parameters associated with the request, such as information indicating that the first device 18 contains a stored copy of the first data stream. The first device 18 sends the message to the content server 14 (FIG. 4, step 3002). The content server 14 receives the message, authenticates the credential (FIG. 4, step 3004), and selects a second data stream from the content storage 28 that comprises an enhancement layer data stream (FIG. 4, step 3006). The second data stream may comprise additional information for rendering the movie Dracula which, when combined with the first data stream, provides a higher quality data stream than either the first data stream or the second data stream alone. The content server 14 sends the second data stream to the first device 18 (FIG. 4, step 3008). The first device 18 receives the second data stream and combines the second data stream with the first data stream to generate a combined data stream (FIG. 4, step 3010). The first device 18 may provide the second data stream for presentation to the user 26 via the display 22, and may store the second data stream in the content storage 30.

In another embodiment, assume that the first device 18 has not completely received the first data stream when the first device 18 detects the Wi-Fi network 32. The first device 18 generates a message including a message parameter that indicates that the first device 18 does not contain a copy of the first data stream. The first device 18 sends the message to the content server 14. After authentication of the credential, the content server 14 obtains an enhancement layer data stream of the movie Dracula from the content storage 28. Because the first device 18 does not contain a copy of the first data stream, the content server 14 also obtains the first data stream from the content storage 28 and combines the enhancement layer data stream with the first data stream to generate a combined data stream. The content server 14 sends the combined data stream as the second data stream to the first device 18.

In yet another embodiment, the first data stream may comprise an audio track of the media item, and the second data stream may comprise a video track of the media item. Assume that the first device 18 has completely downloaded the first data stream (i.e., the audio track), extracts the credential from the first data stream, and requests a second data stream (i.e., the video track) from the content server 14. Upon receipt of the second data stream, the first device 18 combines the first data stream and the second data stream (i.e., the audio track and the video track), and causes the combined data stream to be presented to the user.

FIG. 5 is a block diagram of an exemplary content storage 28. The content storage 28 can be implemented in any type of electronic data storage, including, for example, one or more hard disk drives, flash drives, and the like. The content storage 28 includes a plurality of media items 36-1-36-N (generally, media items 36 or media item 36). The media items 36 may comprise digital content of any desired type, such as movies, programs, songs, and the like. In a preferred embodiment, the media items 36 comprise video media items that are ultimately provided for visual presentation, or display, on a display device such as the display 22.

The media items 36 preferably have multiple corresponding data streams. For example, the media item 36-1 is illustrated as having four corresponding data streams 38, 40, 42, and 44. Each of the data streams 38-44 contains digital content that corresponds to the media item 36-1, and is used by a device to render, or otherwise present, the media item 36-1 to the user 26. The data streams 38-44 may be generated using any number of known data encoding techniques, including, for example, variable bit rate, constant bit rate, Scalable Video Coding, and the like. Alternately, the data streams 38-44 may correspond to different presentation types, such as an audio data stream or a video data stream. Assume the data streams 38-44 have been generated using a variable bit rate (VBR) encoding technique, wherein each of the data streams 38-44 is a version, or copy, of the media item 36-1 that has been encoded at a bit rate that is different from the other data streams 38-44. For example, the data stream 38 may have been encoded at a relatively low bit rate for use with relatively low bandwidth communications links and/or a relatively low resolution display 22. The data stream 44 may have been encoded at a relatively high bit rate for use with relatively high bandwidth communications links and/or a relatively high resolution display 22. The data streams 40, 42 may be encoded at rates in between those of the data stream 38 and the data stream 44, respectively.

The media item 36-N is illustrated as having four corresponding data streams 46, 48, 50, and 52. Each of the data streams 46-52 contains digital content that corresponds to the media item 36-N, and is used by a device to render, or otherwise present, the media item 36-N to the user 26. The data streams 46-52 have been encoded using a Scalable Video Coding technique. The data stream 46 is a base layer version, or copy, of the media item 36-N. The data stream 46 may be a relatively low quality version of the media item 36-N. Each of the data streams 48-52 may be an enhancement layer that may be combined with the data stream 46 to generate a higher quality combined data stream. For example, the data stream 48 may comprise additional resolution, the data stream 50 may comprise additional frames, and the data stream 52 may comprise enhanced color information or enhanced sound information.

FIG. 6 is a block diagram of another exemplary system 10 in which embodiments may be practiced. A second device 54, such as a media controller, contains a content storage 56. The second device 54 may comprise any device capable of providing, presenting, or otherwise causing the presentation of content upon request, such as, for example, a set-top box; a digital video recorder; an intelligent gaming console, such as the Microsoft® Xbox®, Sony® PlayStation®, or Nintendo® GameCube®; a media console such as the Apple® TV®; a personal computer; and the like. The second device 54 is coupled to a display 58, which may comprise, for example, a television, a projector, or an integral display device such as an LCD monitor. Both the first device 18 and the second device 54 are coupled to a local area network 60 by respective communications links 62, 64. The communications links 62, 64 may comprise any suitable data communication technologies, such as Wi-Fi, Bluetooth, Ethernet, and the like. For purposes of illustration, assume that the communications link 62 comprises a Wi-Fi communications link and the communications link 64 comprises a wired Ethernet communications link.

FIG. 7 is a message flow diagram illustrating an exemplary message flow and associated processing for using a credential obtained from a first data stream that was delivered to a first device to authenticate the delivery of a second data stream to a second device. FIG. 7 will be discussed in conjunction with FIG. 6. Assume that the first device 18 is currently receiving a first data stream of a media item. In particular, assume that the first device 18 is receiving the data stream 38 (FIG. 5) of the media item 36-1. Assume further that the user 26 desires to watch the remainder of the media item 36-1 on the display 58, which may comprise, for example, a 1080P high definition television. The user 26 may activate a menu on the first device 18 that provides a plurality of options, including, for example, transferring the rights to view a media stream that is, or has been, received on the first device 18 to one or more other devices, such as the second device 54. The user 26 selects an option to transfer the rights to the media item 36-1 from the first device 18 to the second device 54 (step 4000). In one embodiment, the first device 18 may generate a message that includes the credential extracted from the data stream 38, and send the message to the second device 54 (step 4002). The second device 54 generates a message including the credential and a request to receive a data stream corresponding to the media item 36-1 (step 4004). The second device 54 sends the message to the content server 14 (step 4006).

The content server 14 receives the message and authenticates the credential. Authentication may include verifying that the second device 54 is registered as being associated with the first user 26 and is thus authorized to receive the second data stream (step 4008). For example, the service provided by the content provider 12 may allow a subscriber, such as the user 26, to associate a finite number of devices, such as the first device 18 and the second device 54, with the subscription. The devices that are included in the subscription may be identified in any desirable manner, such as, for example, via IP addresses, unique device identifiers, Digital Rights Management (DRM) techniques, and the like. This information may be included in the message sent by the second device 54 to the content server 14. In one embodiment, the first device 18 and the second device 54 may include respective software modules that register the devices with the content server 14 as authorized agents to play back DRM media items.

Assume that the content server 14 authenticates the credential, and determines that the second device 54 is included in the subscription associated with the user 26. The subscription may also include information used by the content server 14 to select a second data stream, such as the resolution of the display 58, the bandwidth of the communications link 64, or both. Alternatively, the second device 54 may provide such information in the message to the content server 14. In yet another embodiment, the content server 14 may determine the available bandwidth between the content server 14 and the second device 54 by sending a predetermined amount of data to the second device 54 and calculating a bandwidth based on the rate the data is received by the second device 54.

The content server 14 selects a second data stream, such as, for example, the data stream 44 (step 4010). The content server 14 provides the second data stream to the second device 54 (step 4012). The second device 54 receives the second data stream, and begins to provide the second data stream for presentation to the user 26 via the display 58 (step 4014).

In another embodiment, rather than send the credential to the second device 54, the first device 18 generates a message that includes the credential and a request to send a second data stream to the second device 54. The first device 18 sends the message directly to the content server 14. The content server 14 authenticates the credential, verifies that the second device 54 is associated with the subscription of the user 26, and provides the second data stream to the second device 54.

FIG. 8 is a message flow diagram illustrating another exemplary message flow and associated processing for using a credential obtained from a first data stream that was delivered to a first device to authenticate the delivery of a second data stream to a second device. Assume that the first data stream delivered to the first device 18 is the base layer data stream 46 (FIG. 5) corresponding to the media item 36-N. The initial steps 5000-5008 may be similar to the corresponding steps 4000-4008 described with respect to FIG. 7, and for the sake of brevity will not be described again herein. The content server 14 selects a second data stream from the data streams 48-52 (step 5010). The content server 14 may select a single data stream, or may combine two or more of the data streams 48-52. For example, if the content server 14 determines that the bandwidth between the content server 14 and the second device 54 is sufficiently high, the content server 14 may combine the data streams 48-52 into a single data stream for delivery to the second device 54. Alternately, the content server 14 may choose only one of the data streams 48-52 for delivery to the second device 54.

Assume that the first device 18 has already received the entire first data stream at the time the user 26 decides to view the media item on the second device 54. The first device 18 may send the first data stream to the second device 54 (step 5012). The second device 54 begins storing the first data stream in the content storage 56 (step 5014). The content server 14 also begins delivery of the second data stream to the second device 54 (step 5016). The second device 54 combines the first data stream and the second data stream to form a combined data stream (step 5018). The second device presents the combined data stream for presentation to the user 26 on the display 58 (step 5020).

While FIG. 8 illustrates the transfer of a credential from a mobile device that is a relatively low resolution device to a fixed device that is a relatively high resolution device, it is apparent that the process could be reversed in a similar manner. For example, the user 26 may order the media item 36-1 for receipt by the second device 54. The content server 14 may begin providing a first data stream to the second device 54. Because the communications link 64 may be a relatively high bandwidth communications link, and the display 58 may be a relatively high resolution display, assume that the first data stream is a relatively high bit rate data stream, such as the data stream 44. After viewing a portion of the media item 36-1 on the display 58, the user 26 may desire to physically move to a location other than the locale of the second device 54. The user 26 may interact with the second device 54, via a remote control or other input device, and direct the second device 54 to transfer the credential associated with the first data stream to the first device 18.

The first device 18 generates a message including the credential and a request to provide a second data stream, as described previously. The first device 18 sends the message to the content server 14. The content server 14 receives the message, authenticates the credential, and determines that the first device 18 is associated with the subscription of the user 26, as described previously. The content server 14 determines that the communications link 62 is a relatively low bandwidth connection, or that the display 22 is a relatively low resolution display, selects the data stream 38 as the second data stream, and begins delivering the second data stream to the first device 18.

In another embodiment, the first data stream may be segmented into multiple segments, and a credential may be embedded by the content server 14 in each of the multiple segments that makes up the first data stream. As the first device 18 receives each segment, it extracts the corresponding segment credential and stores the corresponding segment credential in a data structure. In order to receive a second data stream corresponding to the media item, the first device 18 (or second device 54, as the case may be), provides the entire data structure to the content server 14. In one embodiment, if only a portion of the media item will be presented, then only the credentials corresponding to such portion must be provided to the content server 14. In another embodiment, only the most recently extracted credential from the first data stream need be provided from the first device 18 to the second device 54 in order for the second device 54 to receive the second data stream.

While embodiments have been illustrated herein in the context of a single content provider 12, in other embodiments the first data stream may be obtained from a first content provider 12 and the second data stream may be obtained from a second content provider 12. For example, a uniform standard for content rights may be implemented such that if an appropriate credential is supplied to any content provider 12, such content provider 12 shall provide a second data stream corresponding to the media item with which the credential is associated, irrespective of which content provider 12 provided the first data stream.

FIG. 9 illustrates components of an exemplary processing device 66 which may be used to implement a first device 18, a second device 54, or a content server 14, according to some embodiments. The processing device 66 may, when implementing a device such as a media controller, comprise a set-top box; a digital video recorder; an intelligent gaming console, such as the Microsoft® Xbox®, Sony® PlayStation®, or Nintendo® GameCube®; a media console such as the Apple® TV®; a personal computer; and the like.

The processing device 66 may, when implementing a mobile device, comprise a cellular phone, a mobile gaming platform, a personal digital assistant (PDA), a tablet computer, a laptop computer, and the like. The processing device 66 may, when implementing a content server, comprise a computer or the like. In addition to components discussed previously herein, the exemplary processing device 66 may also include a central processing unit 68, a system memory 70, and a system bus 72. The system bus 72 provides an interface for system components including, but not limited to, the system memory 70 and the central processing unit 68. The central processing unit 68 can be any of various commercially available or proprietary processors. Dual microprocessors and other multi-processor architectures may also be employed as the central processing unit 68.

The system bus 72 can be any of several types of bus structures that may further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. The system memory 70 can include non-volatile memory 74 (e.g., read only memory (ROM), erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), etc.) and/or volatile memory 76 (e.g., random access memory (RAM)). A basic input/output system (BIOS) 78 can be stored in the non-volatile memory 74, which can include the basic routines that help to transfer information between elements within the processing device 66. The volatile memory 76 can also include a high speed RAM such as static RAM for caching data.

The processing device 66 may further include a storage 80, which may comprise, for example, an internal hard disk drive (HDD) (e.g., enhanced integrated drive electronics (EIDE) or serial advanced technology attachment (SATA)). The storage 80 may implement one or more of the content storages 28, 30, or 56. The processing device 66 may further include an optical disk drive 82 (e.g., for reading a CD-ROM or DVD 84). The drives and associated computer-readable media provide non-volatile storage of data, data structures, computer-executable instructions, and so forth. For the processing device 66, the drives and computer-readable media accommodate the storage of any data in a suitable digital format. Although the description of computer-readable media above refers to an HDD and optical media such as a CD-ROM or DVD, it should be appreciated by those skilled in the art that other types of media which are readable by a computer, such as Zip disks, magnetic cassettes, flash memory cards, cartridges, and the like, may also be used in the exemplary operating environment, and further, that any such media may contain computer-executable instructions for performing novel methods of the disclosed architecture.

A number of program modules can be stored in the drives and volatile memory 76, including an operating system 86 and one or more program modules 88, which implement the functionality described herein with respect to a particular first device 18, second device 54, or content server 14. It is to be appreciated that the embodiments can be implemented with various commercially available operating systems or combinations of operating systems. All or a portion of the embodiments may be implemented as a computer program product, such as a computer-usable medium having a computer-readable program code embodied therein. The computer-readable program code can include software instructions for implementing the functionality of embodiments described herein. The central processing unit 68 in conjunction with the program modules 88 in the volatile memory 76 may serve as a control system for the processing device 66 that is adapted to implement the functionality described herein.

In one embodiment, the program modules 88 may be implemented in software and stored in the volatile memory 76. However, the present disclosure is not limited thereto, and in other embodiments, the program modules 88 may be implemented in software, hardware, firmware, or any combination thereof. When implementing the first device 18 or second device 54, the program modules 88 may include modules for obtaining a data stream from the content server 14, extracting the credential therefrom, communicating with the content server 14, rendering the presentation of a data stream on a respective display 22 or 58, and other functionality described herein with regard to the first device 18 or second device 54, respectively. When implementing the content server 14, the program modules 88 may include modules for selecting a data stream, embedding a credential therein, authenticating a request for a data stream, and other functionality described herein with regard to the content server 14.

The user 26 may be able to enter commands and information into the processing device 66 through one or more wired or wireless input devices, for example, a keyboard and a pointing device, such as a mouse (not illustrated). Other input devices (not illustrated) may include a microphone, an infrared (IR) remote control, a joystick, a game pad, a stylus pen, a touch screen, or the like. These and other input devices may be connected to the central processing unit 68 through an input device interface 90 that is coupled to the system bus 72 but can be connected by other interfaces such as a parallel port, an IEEE 1394 serial port, a game port, a universal serial bus (USB) port, an IR interface, etc.

The processing device 66 may drive a separate or integral display device 92, which may also be connected to the system bus 72 via an interface, such as a video display adapter 94. The processing device 66 may operate in a networked environment using a wired and/or wireless communication network interface 96. The network interface 96 can facilitate wired and/or wireless communications to a network.

The processing device 66 may be operable to communicate with any wireless devices or entities operatively disposed in wireless communication, for example, a printer, a scanner, or a desktop and/or portable computer, via wireless technologies, such as Wi-Fi or Bluetooth, for example.

Those skilled in the art will recognize improvements and modifications to the embodiments. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow. 

1. A method for obtaining digital content, comprising: obtaining a credential from a first data stream that corresponds to a media item; providing the credential to a content provider; and in response to providing the credential to the content provider, receiving from the content provider a second data stream, wherein the second data stream corresponds to the media item.
 2. The method of claim 1, further comprising combining the second data stream with the first data stream to generate a combined data stream, and causing the presentation of the combined data stream.
 3. The method of claim 1, further comprising receiving the first data stream from the content provider, and wherein obtaining the credential from the first data stream that corresponds to the media item further comprises extracting the credential from the first data stream.
 4. The method of claim 3, further comprising extracting a digital watermark from the first data stream, and wherein extracting the credential from the first data stream comprises extracting the credential from the digital watermark.
 5. The method of claim 1, wherein obtaining the credential from the first data stream that corresponds to the media item further comprises receiving on a second device the credential from a first device that had extracted the credential from the first data stream.
 6. The method of claim 5, wherein providing the credential to the content provider comprises providing, by the second device, the credential to the content provider.
 7. The method of claim 5, further comprising causing the presentation of the second data stream on the second device.
 8. The method of claim 7, further comprising receiving the first data stream from the first device, combining the first data stream with the second data stream to generate a combined data stream, and causing the presentation of the combined data stream on a display communicatively coupled to the second device.
 9. An apparatus for obtaining digital content, comprising: a network interface adapted to communicate with a network; and a control system comprising a processor coupled to the network interface and adapted to: obtain a credential from a first data stream that corresponds to a media item; provide the credential to a content provider; and in response to providing the credential to the content provider, receive from the content provider a second data stream, wherein the second data stream corresponds to the media item.
 10. The apparatus of claim 9, wherein the control system is further adapted to: combine the second data stream with the first data stream to generate a combined data stream; and cause the presentation of the combined data stream.
 11. The apparatus of claim 9, wherein the control system is further adapted to: receive the first data stream from the content provider; and wherein to obtain the credential from the first data stream that corresponds to the media item, the control system is further adapted to extract the credential from the first data stream.
 12. The apparatus of claim 11, wherein the control system is further adapted to: extract a digital watermark from the first data stream; and wherein to extract the credential from the first data stream, the control system is further adapted to extract the credential from the digital watermark.
 13. The apparatus of claim 9, wherein to obtain the credential from the first data stream that corresponds to the media item, the control system is further adapted to receive the credential from a first device that had extracted the credential from the first data stream.
 14. The apparatus of claim 13, wherein the control system is further adapted to receive the first data stream from the first device, combine the first data stream with the second data stream to generate a combined data stream, and cause the presentation of the combined data stream on a display communicatively coupled to the second device.
 15. A content server, comprising: a network interface adapted to communicate with a network; and a control system comprising a processor and coupled to the network interface, and adapted to: embed a credential in a first data stream corresponding to a media item; provide the first data stream to a first device; receive the credential from a device; and in response, provide a second data stream corresponding to the media item to the device.
 16. The content server of claim 15, wherein the device comprises the first device.
 17. The content server of claim 15, wherein the device comprises a second device.
 18. The content server of claim 17, wherein the control system is further adapted to: authenticate the credential to determine that the second device is authorized to receive the second data stream.
 19. The content server of claim 15, wherein the first data stream is a first version of the media item encoded at a first bit rate, and the second data stream is a second version of the media item encoded at a second bit rate.
 20. The content server of claim 15, wherein the first data stream is a base layer bit stream of the media item, and the second data stream is an enhancement layer bit stream of the media item. 